YNQ  YNQ-1.5.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Authentication

Modules

 Encryption Algorithms
 
 Security Mechanisms
 
 Security Password Type
 

Data Structures

struct  AMDomainA
 
struct  AMDomain
 
struct  AMCredentialsA
 
struct  AMCredentials
 

Macros

#define AM_MAXSECURITYLEVEL   4
 

Functions

NQ_BOOL amStart (void)
 
void amShutdown (void)
 
void amClientDefineLevel (NQ_UINT level, NQ_UINT crypter1, NQ_UINT crypter2, NQ_UINT32 mehanisms)
 
void amSetNonSecureAuthentication (NQ_BOOL enableNonSecureAuthentication)
 

Detailed Description

Macro Definition Documentation

#define AM_MAXSECURITYLEVEL   4

Maximum security level. Security levels are counted from zero to this value. Used by amClientDefineLevel()

Function Documentation

NQ_BOOL amStart ( void  )

This function initializes this module.

Returns
TRUE on success and FALSE on failure.
void amShutdown ( void  )

This function disposes resources used by this module.

void amClientDefineLevel ( NQ_UINT  level,
NQ_UINT  crypter1,
NQ_UINT  crypter2,
NQ_UINT32  mehanisms 
)

NQ Authentication module conveys authentication according to the required level of security.

This function assigns parameters for one authentication level:

  • NQ combines two encryption algorithms in one authentication blob. User can choose between LM, NTLM and NTLMv2 encryptions.
  • User can choose security mechanisms for extended security negotiations. Currently, the available mechanisms are: NTLMSSP and Kerberos.
Parameters
levelAuthentication level to define. This value should be greater or equal to zero and it should not exceed the maximum security level as defined in AM_MAXSECURITYLEVEL. An illegal value will have no effect.
crypter1The first encryption algorithm. Available values are:
crypter2The second encryption algorithm. Available values are:
mehanismsAvailable security mechanisms. This value is a bit mask of the following:
Note
  • Level parameters are assigned globally so that two concurrent applications using the same level are sharing the same parameters. If one of them assigns new parameters this also affects the second one.
  • This function is not thread-safe.
  • The default per-level parameters are:
Level Crypter 1Crypter 2 NTLMSSP KERBEROS
0 LM none - -
1 LM NTLM - -
2 LM NTLM Yes Yes
3 LMv2 NTLMv2 Yes -
4 LMv2 NTLMv2 Yes Yes
void amSetNonSecureAuthentication ( NQ_BOOL  enableNonSecureAuthentication)

Some old authentication methods - used in SMB 1 only - are considered today non secure. By default those non secure methods will be disabled. Use this function to enable / disable non secure methods.

Parameters
enableNonSecureAuthenticationTRUE - non secure authentication will be used. FALSE - non secure authentication will not be used.
Note